Methods and apparatus for navigating an image

ABSTRACT

Methods and apparatus are contemplated to perform various actions, including: zooming into or out of an image having at least one object, wherein at least some elements of the at least one object are scaled up and/or down in a way that is non-physically proportional to one or more zoom levels associated with the zooming, and wherein, for example, the non-physically proportional scaling may be expressed by the following formula: p=d′·z a , where p is a linear size in pixels of one or more elements of the object at the zoom level, d′ is an imputed linear size of the one or more elements of the object in physical units, z is the zoom level in units of physical linear size/pixel, and a is a power law where a≠−1.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.10/803,010, filed Mar. 17, 2004, the disclosure of which is herebyincorporated herein by reference in its entirety.

BACKGROUND OF THE INVENTION

The present invention relates to methods and apparatus for navigating,such as zooming and panning, over an image of an object in such a way asto provide the appearance of smooth, continuous navigational movement.

Most conventional graphical computer user interfaces (GUIs) are designedusing visual components of fixed spatial scale, it has long beenrecognized, however, that visual components may be represented andmanipulated such that they do not have a fixed spatial scale on thedisplay; indeed, the visual components may be panned and/or zoomed in orout. The ability to zoom in and out on an image is desirable inconnection with, for example, viewing maps, browsing through textlayouts such as newspapers, viewing digital photographs, viewingblueprints or diagrams, and viewing other large data sets.

Many existing computer applications, such as Microsoft Word, Adobe PhotoShop, Adobe Acrobat, etc., include zoomable components. In general, thezooming capability provided by these computer applications is aperipheral aspect of a user's interaction with the software and thezooming feature is only employed occasionally. These computerapplications permit a user to pan over an image smoothly andcontinuously (e.g., utilizing scroll bars or the cursor to translate theviewed image left, right, up or down). A significant problem with suchcomputer applications, however, is that they do not permit a user tozoom smoothly and continuously. Indeed, they provide zooming in discretesteps, such as 10%, 25%, 50%, 75%, 100%, 150%, 200%, 500%, etc. The userselects the desired zoom using the cursor and, in response, the imagechanges abruptly to the selected zoom level.

The undesirable qualities of discontinuous zooming also exist inInternet-based computer applications. The computer applicationunderlying the www.mapquest.com website illustrates this point. TheMapQuest website permits a user to enter one or more addresses andreceive an image of a roadmap in response. FIGS. 1-4 are examples ofimages that one may obtain from the MapQuest website in response to aquery for a regional map of Long Island, N.Y., U.S.A. The MapQuestwebsite permits the user to zoom in and zoom out to discrete levels,such as 10 levels. FIG. 1 is a rendition at zoom level 5, which isapproximately 100 meters/pixel. FIG. 2 is an image at a zoom level 6,which is about 35 meters/pixel. FIG. 3 is an image at a zoom level 7,which is about 20 meters/pixel. FIG. 4 is an image at a zoom level 9,which is about 10 meters/pixel.

As can be seen by comparing FIGS. 1-4, the abrupt transitions betweenzoom levels result in a sudden and abrupt loss of detail when zoomingout and a sudden and abrupt addition of detail when zooming in. Forexample, no local, secondary or connecting roads may be seen in FIG. 1(at zoom level 5), although secondary and connecting roads suddenlyappear in FIG. 2, which is the very next zoom level. Such abruptdiscontinuities are very displeasing when utilizing the MapQuestwebsite. It is noted, however, that even if the MapQuest softwareapplication were modified to permit a view of, for example, localstreets at zoom level 5 (FIG. 1), the results would still beunsatisfactory. Although the visual density of the map would change withthe zoom level such that at some level of zoom, the result might bepleasing (e.g., at level 7, FIG. 3), as one zoomed in the roads wouldnot thicken, making the map look overly sparse. As one zoomed out, theroads would eventually run into each other, rapidly forming a solid nestin which individual roads would be indistinguishable.

The ability to provide smooth, continuous zooming on images of road mapsis problematic because of the varying levels of coarseness associatedwith the road categories. In the United States, there are about fivecategories of roads (as categorized under the Tiger/Line Datadistributed by the U.S. Census Bureau): A1, primary highways; A2,primary roads; A3, state highways, secondary roads, and connectingroads; A4, local streets, city streets and rural roads; and A5, dirtroads. These roads may be considered the elements of an overall object(i.e., a roadmap). The coarseness of the road elements manifests becausethere are considerably more A4 roads than A3 roads, there areconsiderably more A3 roads than A2 roads, and there are considerablymore A2 roads than A1 roads. In addition, the physical dimensions of theroads (e.g., their widths), vary significantly. A1 roads may be about 16meters wide, A2 roads may be about 12 meters wide, A3 roads may be about8 meters wide, A4 roads may be about 5 meters wide, and A5 roads may beabout 2.5 meters wide.

The MapQuest computer application deals with these varying levels ofcoarseness by displaying only the road categories deemed appropriate ata particular zoom level. For example, a nation-wide view might only showA1 roads, while a state-wide view might show A1 and A2 roads, and acounty-wide view might show A1, A2 and A3 roads. Even if MapQuest weremodified to allow continuous zooming of the roadmap, this approach wouldlead to the sudden appearance and disappearance of road categoriesduring zooming, which is confusing and visually displeasing.

In view of the foregoing, there are needs in the art for new methods andapparatus for navigating images of complex objects, which permit smoothand continuous zooming of the image while also preserving visualdistinctions between the elements of the objects based on their size orimportance.

SUMMARY OF THE INVENTION

In accordance with one or more aspects of the present invention, methodsand apparatus are contemplated to perform various actions, including:zooming into or out of an image having at least one object, wherein atleast some elements of at least one object are scaled up and/or down ina way that is non-physically proportional to one or more zoom levelsassociated with the zooming.

The non-physically proportional scaling may be expressed by thefollowing formula: p=c·d·z^(a), where p is a linear size in pixels ofone or more elements of the object at the zoom level, c is a constant, dis a linear size in physical units of the one or more elements of theobject, z is the zoom level in units of physical linear size/pixel, anda is a scale power where a≠−1.

Under non-physical scaling, the scale power a is not equal to −1(typically −1<a<0) within a range of zoom levels z0 and z1, where z0 isof a lower physical linear size/pixel than z1. Preferably, at least oneof z0 and z1 may vary for one or more elements of the object. It isnoted that a, c and d may also vary from element to element.

At least some elements of the at least one object may also be scaled upand/or down in a way that is physically proportional to one or more zoomlevels associated with the zooming. The physically proportional scalingmay be expressed by the following formula: p=c·d/z, where p is a linearsize in pixels of one or more elements of the object at the zoom level,c is a constant, d is a linear size of the one or more elements of theobject in physical units, and z is the zoom level in units of physicallinear size/pixel.

It is noted that the methods and apparatus described thus far and/ordescribed later in this document may be achieved utilizing any of theknown technologies, such as standard digital circuitry, analogcircuitry, any of the known processors that are operable to executesoftware and/or firmware programs, programmable digital devices orsystems, programmable array logic devices, or any combination of theabove. The invention may also be embodied in a software program forstorage in a suitable storage medium and execution by a processing unit.

The elements of the object may be of varying degrees of coarseness. Forexample, as discussed above, the coarseness of the elements of a roadmapobject manifests because there are considerably more A4 roads than A3roads, there are considerably more A3 roads than A2 roads, and there areconsiderably more A2 roads than A1 roads. Degree of coarseness in roadcategories also manifests in such properties as average road length,frequency of intersections, and maximum curvature. The coarseness of theelements of other image objects may manifest in other ways too numerousto list in their entirety. Thus, the scaling of the elements in a givenpredetermined image may be physically proportional or non-physicallyproportional based on at least one of: (i) a degree of coarseness ofsuch elements; and (ii) the zoom level of the given predetermined image.For example, the object may be a roadmap, the elements of the object maybe roads, and the varying degrees of coarseness may be road hierarchies.Thus; the scaling of a given road in a given predetermined image may bephysically proportional or non-physically proportional based on: (i) theroad hierarchy of the given road; and (ii) the zoom level of the givenpredetermined image.

In accordance with one or more further aspects of the present invention,methods and apparatus are contemplated to perform various actions,including: receiving at a client terminal a plurality of pre-renderedimages of varying zoom levels of a roadmap; receiving one or more usernavigation commands including zooming information at the clientterminal; and blending two or more of the pre-rendered images to obtainan intermediate image of an intermediate zoom level that correspondswith the zooming information of the navigation commands such that adisplay of the intermediate image on the client terminal provides theappearance of smooth navigation.

In accordance with one or more still further aspects of the presentinvention, methods and apparatus are contemplated to perform variousactions, including: receiving at a client terminal a plurality ofpre-rendered images of varying zoom levels of at least one object, atleast some elements of the at least one object being scaled up and/ordown in order to produce the plurality of pre-determined images, and thescaling being at least one of: (i) physically proportional to the zoomlevel; and (ii) non-physically proportional to the zoom level; receivingone or more user navigation commands including zooming information atthe client terminal; blending two or more of the pre-rendered images toobtain an intermediate image of an intermediate zoom level thatcorresponds with the zooming information of the navigation commands; anddisplaying the intermediate image on the client terminal.

In accordance with one or more still further aspects of the presentinvention, methods and apparatus are contemplated to perform variousactions, including: transmitting a plurality of pre-rendered images ofvarying zoom levels of a roadmap to a client terminal over acommunications channel; receiving the plurality of pre-rendered imagesat the client terminal; issuing one or more user navigation commandsincluding zooming information using the client terminal; and blendingtwo or more of the pre-rendered images to obtain an intermediate imageof an intermediate zoom level that corresponds with the zoominginformation of the navigation commands such that a display of theintermediate image on the client terminal provides the appearance ofsmooth navigation.

In accordance with one or more still further aspects of the presentinvention, methods and apparatus are contemplated to perform variousactions, including: transmitting a plurality of pre-rendered images ofvarying zoom levels of at least one object to a client terminal over acommunications channel, at least some elements of the at least oneobject being scaled up and/or down in order to produce the plurality ofpre-determined images, and the scaling being at least one of: (i)physically proportional to the zoom level; and (ii) non-physicallyproportional to the zoom level; receiving the plurality of pre-renderedimages at the client terminal; issuing one or more user navigationcommands including zooming information using the client terminal;blending two of the pre-rendered images to obtain an intermediate imageof an intermediate zoom level that corresponds with the zoominginformation of the navigation commands; and displaying the intermediateimage on the client terminal.

Other aspects, features, and advantages will become apparent to one ofordinary skill in the art when the description herein is taken inconjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

For the purposes of illustrating the invention, forms are shown in thedrawing, it being understood, however, that the invention is not limitedto the precise arrangements and instrumentalities shown.

FIG. 1 is an image taken from the MapQuest website, which is at a zoomlevel 5;

FIG. 2 is an image taken from the MapQuest website, which is at a zoomlevel 6;

FIG. 3 is an image taken from the MapQuest website, which is at a zoomlevel 7;

FIG. 4 is an image taken from the MapQuest website, which is at a zoomlevel 9;

FIG. 5 is an image of Long Island produced at a zoom level of about 334meters/pixel in accordance with one or more aspects of the presentinvention;

FIG. 6 is an image of Long Island produced at a zoom level of about 191meters/pixel in accordance with one or more further aspects of thepresent invention;

FIG. 7 is an image of Long Island produced at a zoom level of about109.2 meters/pixel in accordance with one or more further aspects of thepresent invention;

FIG. 8 is an image of Long Island produced at a zoom level of about 62.4meters/pixel in accordance with one or more further aspects of thepresent invention;

FIG. 9 is an image of Long Island produced at a zoom level of about 35.7meters/pixel in accordance with one or more further aspects of thepresent invention;

FIG. 10 is an image of Long Island produced at a zoom level of about20.4 meters/pixel in accordance with one or more further aspects of thepresent invention;

FIG. 11 is an image of Long Island produced at a zoom level of about11.7 meters/pixel in accordance with one or more further aspects of thepresent invention;

FIG. 12 is a flow diagram illustrating process steps that may be carriedout in order to provide smooth and continuous navigation of an image inaccordance with one or more aspects of the present invention;

FIG. 13 is a flow diagram illustrating further process steps that may becarried out in order to smoothly navigate an image in accordance withvarious aspects of the present invention;

FIG. 14 is a log-log graph of a line width in pixels versus a zoom levelin meters/pixel illustrating physical and non-physical scaling inaccordance with one or more further aspects of the present invention;and

FIG. 15 is a log-log graph illustrating variations in the physical andnon-physical scaling of FIG. 14.

FIGS. 16A-D illustrate respective antialiased vertical lines whoseendpoints are precisely centered on pixel coordinates;

FIGS. 17A-C illustrate respective antialiased lines on a slant, withendpoints not positioned to fall at exact pixel coordinates; and

FIG. 18 is the log-log graph of line width versus zoom level of FIG. 14including horizontal lines indicating incremental line widths, andvertical lines spaced such that the line width over the interval betweentwo adjacent vertical lines changes by no more than two pixels.

DETAILED DESCRIPTION OF THE INVENTION

Referring now to the drawings, wherein like numerals indicate likeelements, there is shown in FIGS. 5-11 a series of images representingthe road system of Long Island, N.Y., U.S.A. where each image is at adifferent zoom level (or resolution). Before delving into the technicaldetails of how the present invention is implemented, these images willnow be discussed in connection with desirable resultant features ofusing the invention, namely, at least the appearance of smooth andcontinuous navigation, particularly zooming, while maintaininginformational integrity.

It is noted that the various aspects of the present invention that willbe discussed below may be applied in contexts other than the navigationof a roadmap image. Indeed, the extent of images and implementations forwhich the present invention may be employed are too numerous to list intheir entirety. For example, the features of the present invention maybe used to navigate images of the human anatomy, complex topographies,engineering diagrams such as wiring diagrams or blueprints, geneontologies, etc. It has been found, however, that the invention hasparticular applicability to navigating images in which the elementsthereof are of varying levels of detail or coarseness. Therefore, forthe purposes of brevity and clarity, the various aspects of the presentinvention will be discussed in connection with a specific example,namely, images of a roadmap.

Although it is impossible to demonstrate the appearance of smooth andcontinuous zooming in a patent document, this feature has beendemonstrated through experimentation and prototype development byexecuting a suitable software program on a Pentium-based computer. Theimage 100A of the roadmap illustrated in FIG. 5 is at a zoom level thatmay be characterized by units of physical length/pixel (or physicallinear size/pixel). In other words, the zoom level, z, represents theactual physical linear size that a single pixel of the image 100Arepresents. In FIG. 5, the zoom level is about 334 meters/pixel. Thoseskilled in the art will appreciate that the zoom level may be expressedin other units without departing from the spirit and scope of theclaimed invention. FIG. 6 is an image 100B of the same roadmap as FIG.5, although the zoom level, z, is about 191 meters/pixel.

In accordance with one or more aspects of the present invention, a userof the software program embodying one or more aspects of the inventionmay zoom in or out between the levels illustrated in FIGS. 5 and 6. Itis significant to note that such zooming has the appearance of smoothand continuous transitions from the 334 meters/pixel level (FIG. 5)to/from the 191 meters/pixel level (FIG. 6) and any levels therebetween.Likewise, the user may zoom to other levels, such as z=109.2meters/pixel (FIG. 7), z=62.4 meters/pixel (FIG. 8), z=35.7 meters/pixel(FIG. 9), z=20.4 meters/pixel (FIG. 10), and z=11.7 meters/pixel (FIG.11). Again, the transitions through these zoom levels and any levelstherebetween advantageously have the appearance of smooth and continuousmovements.

Another significant feature of the present invention as illustrated inFIGS. 5-11 is that little or no detail abruptly appears or disappearswhen zooming from one level to another level. The detail shown in FIG. 8(at the zoom level of z=62.4 meters/pixel) may also be found in FIG. 5(at a zoom level of z=334 meters/pixel). This is so even though theimage object, in this case the roadmap, includes elements (i.e., roads)of varying degrees of coarseness. Indeed, the roadmap 100D of FIG. 8includes at least A1 highways such as 102, A3 secondary roads such as104, and A4 local roads such as 106. Yet these details, even the A4local roads 106, may still be seen in image 100A of FIG. 5, which issubstantially zoomed out in comparison with the image 100D of FIG. 8.

Still further, despite that the A4 local roads 106 may be seen at thezoom level of z=334 meters/pixel (FIG. 5) the A1, A2, A3, and A4 roadsmay be distinguished from one another. Even differences between A1primary highways 102 and A2 primary roads 108 may be distinguished fromone another vis-à-vis the relative weight given to such roads in therendered image 100A.

The ability to distinguish among the road hierarchies is alsoadvantageously maintained when the user continues to zoom in, forexample, to the zoom level of z=20.4 meters/pixel as illustrated inimage 100F of FIG. 10. Although the weight of the A1 primary highway 102significantly increases as compared with the zoom level of z=62.4meters/pixel in FIG. 8, it does not increase to such an extent as toobliterate other detail, such as the A4 local roads 106 or even the A5dirt roads. Nevertheless, the weights of the roads at lower hierarchicallevels, such as A4 local roads 106 significantly increase in weight ascompared with their counterparts at the zoom level z=62.4 meters/pixelin FIG. 8.

Thus, even though the dynamic range of zoom levels between thatillustrated in FIG. 5 and that illustrated in FIG. 11 is substantial anddetail remains substantially consistent (i.e., no roads suddenly appearor disappear while smoothly zooming), the information that the userseeks to obtain at a given zooming level is not obscured by undesirableartifacts. For example, at the zoom level of z=334 meters/pixel (FIG.5), the user may wish to gain a general sense of what primary highwaysexist and in what directions they extend. This information may readilybe obtained even though the A4 local roads 106 are also depicted. At thezoom level of z=62.4 meters/pixel (FIG. 8), the user may wish todetermine whether a particular A1 primary highway 102 or A2 primary road108 services a particular city or neighborhood. Again, the user mayobtain this information without interference from other much moredetailed information, such as the existence and extent of A4 local roads106 or even A5 dirt roads. Finally, at the zoom level of z=11.7meters/pixel, a user may be interested in finding a particular A4 localroad such as 112, and may do so without interference by significantlylarger roads such as the A1 primary highway 102.

In order to achieve one or more of the various aspects of the presentinvention discussed above, it is contemplated that one or more computingdevices execute one or more software programs that cause the computingdevices to carry out appropriate actions. In this regard, reference isnow made to FIGS. 12-13, which are flow diagrams illustrating processsteps that are preferably carried out by the one or more computingdevices and/or related equipment.

While it is preferred that the process flow is carried out bycommercially available computing equipment (such as Pentium-basedcomputers), any of a number of other techniques may be employed to carryout the process steps without departing from the spirit and scope of thepresent invention as claimed. Indeed, the hardware employed may beimplemented utilizing any other known or hereinafter developedtechnologies, such as standard digital circuitry, analog circuitry, anyof the known processors that are operable to execute software and/orfirmware programs, one or more programmable digital devices or systems,such as programmable read only memories (PROMs), programmable arraylogic devices (PALs), any combination of the above, etc. Further, themethods of the present invention may be embodied in a software programthat may be stored on any of the known or hereinafter developed media.

FIG. 12 illustrates an embodiment of the invention in which a pluralityof images are prepared (each at a different zoom level or resolution),action 200, and two or more of the images are blended together toachieve the appearance of smooth navigation, such as zooming (action206). Although not required to practice the invention, it iscontemplated that the approach illustrated in FIG. 12 be employed inconnection with a service provider—client relationship. For example, aservice provider would expend the resources to prepare a plurality ofpre-rendered images (action 200) and make the images available to auser's client terminal over a communications channel, such as theInternet (action 202). Alternatively, the pre-rendered images may be anintegral or related part of an application program that the user loadsand executes on his or her computer.

It has been found through experimentation that, when the blendingapproach is used, a set of images at the following zoom levels work wellwhen the image object is a roadmap: 30 meters/pixel, 50 meters/pixel, 75meters/pixel, 100 meters/pixel, 200 meters/pixel, 300 meters/pixel, 500meters/pixel, 1000 meters/pixel, and 3000 meters/pixel. It is noted,however, that any number of images may be employed at any number ofresolutions without departing from the scope of the invention. Indeed,other image objects in other contexts may be best served by a larger orsmaller number of images, where the specific zoom levels are differentfrom the example above.

Irrespective of how the images are obtained by the client terminal, inresponse to user-initiated navigation commands (action 204), such aszooming commands, the client terminal is preferably operable to blendtwo or more images in order to produce an intermediate resolution imagethat coincides with the navigation command (action 206). This blendingmay be accomplished by a number of methods, such as the well-knowntrilinear interpolation technique described by Lance Williams, PyramidalParametrics, Computer Graphics, Proc. SIGGRAPH '83, 17(3):1-11 (1983),the entire disclosure of which is incorporated herein by reference.Other approaches to image interpolation are also useful in connectionwith the present invention, such as bicubic-linear interpolation, andstill others may be developed in the future. It is noted that thepresent invention does not require or depend on any particular one ofthese blending methods. For example, as shown in FIG. 8, the user maywish to navigate to a zoom level of 62.4 meters/pixel. As this zoomlevel may be between two of the pre-rendered images (e.g., in thisexample between zoom level 50 meters/pixel and zoom level 75meters/pixel), the desired zoom level of 62.4 meters/pixel may beachieved using the trilinear interpolation technique. Further, any zoomlevel between 50 meters/pixel and 75 meters/pixel may be obtainedutilizing a blending method as described above, which if performedquickly enough provides the appearance of smooth and continuousnavigation. The blending technique may be carried through to other zoomlevels, such as the 35.7 meters/pixel level illustrated in FIG. 9. Insuch case, the blending technique may be performed as between thepre-rendered images of 30 meters/pixel and 50 meters/pixel of theexample discussed thus far.

The above blending approach may be used when the computing power of theprocessing unit on which the invention is carried out is not high enoughto (i) perform the rendering operation in the first instance, and/or(ii) perform image rendering “just-in-time” or “on the fly” (forexample, in real time) to achieve a high image frame rate for smoothnavigation. As will be discussed below, however, other embodiments ofthe invention contemplate use of known, or hereinafter developed, highpower processing units that are capable of rendering at the clientterminal for blending and/or high frame rate applications.

The process flow of FIG. 13 illustrates the detailed steps and/oractions that are preferably conducted to prepare one or more images inaccordance with the present invention. At action 220, the information isobtained regarding the image object or objects using any of the known orhereinafter developed techniques. Usually, such image objects have beenmodeled using appropriate primitives, such as polygons, lines, points,etc. For example, when the image objects are roadmaps, models of theroads in any Universal Transverse Mercator (UTM) zone may readily beobtained. The model is usually in the form of a list of line segments(in any coordinate system) that comprise the roads in the zone. The listmay be converted into an image in the spatial domain (a pixel image)using any of the known or hereinafter developed rendering processes solong as it incorporates certain techniques for determining the weight(e.g., apparent or real thickness) of a given primitive in the pixel(spatial) domain. In keeping with the roadmap example above, therendering processes should incorporate certain techniques fordetermining the weight of the lines that model the roads of the roadmapin the spatial domain. These techniques will be discussed below.

At action 222 (FIG. 13), the elements of the object are classified. Inthe case of a roadmap object, the classification may take the form ofrecognizing already existing categories, namely, A1, A2, A3, A4, and A5.Indeed, these road elements have varying degrees of coarseness and, aswill be discussed below, may be rendered differently based on thisclassification. At action 224, mathematical scaling is applied to thedifferent road elements based on the zoom level. As will be discussed inmore detail below, the mathematical scaling may also vary based on theelement classification.

By way of background, there are two conventional techniques forrendering image elements such as the roads of a map: actual physicalscaling, and pre-set pixel width. The actual physical scaling techniquedictates that the roadmap is rendered as if viewing an actual physicalimage of the roads at different scales. A1 highways, for example, mightbe 16 meters wide, A2 roads might be 12 meters wide, A3 roads might be 8meters wide, A4 roads might be 5 meters wide, and A5 roads might be 2.5meters wide. Although this might be acceptable to the viewer when zoomedin on a small area of the map, as one zooms out, all roads, both majorand minor, become too thin to make out. At some zoom level, say at thestate level (e.g., about 200 meters/pixel), no roads would be seen atall.

The pre-set pixel width approach dictates that every road is a certainpixel width, such as one pixel in width on the display. Major roads,such as highways, may be emphasized by making them two pixels wide, etc.Unfortunately this approach makes the visual density of the map changeas one zooms in and out. At some level of zoom, the result might bepleasing, e.g., at a small-size county level. As one zooms in, however,roads would not thicken, making the map look overly sparse. Further, asone zooms out, roads would run into each other, rapidly forming a solidnest in which individual roads would be indistinguishable.

In accordance with one or more aspects of the present invention, ataction 224, the images are produced in such a way that at least someimage elements are scaled up and/or down either (i) physicallyproportional to the zoom level; or (ii) non-physically proportional tothe zoom level, depending on parameters that will be discussed in moredetail below.

It is noted that the scaling being “physically proportional to the zoomlevel” means that the number of pixels representing the road widthincreases or decreases with the zoom level as the size of an elementwould appear to change with its distance from the human eye. Theperspective formula, giving the apparent length y of an object ofphysical size d, is:y=c·d/x,

where c is a constant determining the angular perspective and x is thedistance of the object from the viewer.

In the present invention, the linear size of an object of physicallinear size d′ in display pixels p is given byp=d′·z ^(a),

where z is the zoom level in units of physical linear size/pixel (e.g.meters/pixel), and a is a power law. When a=−1 and d′=d (the realphysical linear size of the object), this equation is dimensionallycorrect and becomes equivalent to the perspective formula, with p=y andz=x/c. This expresses the equivalence between physical zooming andperspective transformation: zooming in is equivalent to moving an objectcloser to the viewer, and zooming out is equivalent to moving the objectfarther away.

To implement non-physical scaling, a may be set to a power law otherthan −1, and d′ may be set to a physical linear size other than theactual physical linear size d. In the context of a road map, where p mayrepresent the displayed width of a road in pixels and d′ may representan imputed width in physical units, “non-physically proportional to thezoom level” means that the road width in display pixels increases ordecreases with the zoom level in a way other than being physicallyproportional to the zoom level, i.e. a≠−1. The scaling is distorted in away that achieves certain desirable results.

It is noted that “linear size” means one-dimensional size. For example,if one considers any 2 dimensional object and doubles its “linear size”then one multiplies the area by 4=2². In the two dimensional case, thelinear sizes of the elements of an object may involve length, width,radius, diameter, and/or any other measurement that one can read offwith a ruler on the Euclidean plane. The thickness of a line, the lengthof a line, the diameter of a circle or disc, the length of one side of apolygon, and the distance between two points are all examples of linearsizes. In this sense the “linear size” in two dimensions is the distancebetween two identified points of an object on a 2D Euclidean plane. Forexample, the linear size can be calculated by taking the square root of(dx²+dy²), where dx=x1−x0, dy=y1−y0, and the two identified points aregiven by the Cartesian coordinates (x0, y0) and (x1, y1).

The concept of “linear size” extends naturally to more than twodimensions; for example, if one considers a volumetric object, thendoubling its linear size involves increasing the volume by 8=2 ³.Similar measurements of linear size can also be defined fornon-Euclidean spaces, such as the surface of a sphere.

Any power law a<0 will cause the rendered size of an element to decreaseas one zooms out, and increase as one zooms in. When a<−1, the renderedsize of the element will decrease faster than it would with proportionalphysical scaling as one zooms out. Conversely, when −1<a<0, the size ofthe rendered element decreases more slowly than it would withproportional physical scaling as one zooms out.

In accordance with at least one aspect of the invention, p(z), for agiven length of a given object, is permitted to be substantiallycontinuous so that during navigation the user does not experience asudden jump or discontinuity in the size of an element of the image (asopposed to the conventional approaches that permit the most extremediscontinuity—a sudden appearance or disappearance of an element duringnavigation). In addition, it is preferred that p(z) monotonicallydecrease with zooming out such that zooming out causes the elements ofthe object become smaller (e.g., roads to become thinner), and such thatzooming in causes the elements of the object become larger. This givesthe user a sense of physicality about the object(s) of the image.

The scaling features discussed above may be more fully understood withreference to FIG. 14, which is a log-log graph of a rendered line widthin pixels for an A1 highway versus the zoom level in meters/pixel.(Plotting log(z) on the x-axis and log(p) on the y-axis is convenientbecause the plots become straight lines due to the relationshiplog(x^(a))=a·log (x) ). The basic characteristics of the line (road)width versus zoom level plot are:

-   -   (i) that the scaling of the road widths may be physically        proportional to the zoom level when zoomed in (e.g., up to about        0.5 meters/pixel);    -   (ii) that the scaling of the road widths may be non-physically        proportional to the zoom level when zoomed out (e.g., above        about 0.5 meters/pixel); and    -   (iii) that the scaling of the road widths may be physically        proportional to the zoom level when zoomed further out (e.g.,        above about 50 meters/pixel or higher depending on parameters        which will be discussed in more detail below).

As for the zone in which the scaling of the road widths is physicallyproportional to the zoom level, the scaling formula of p=d′·z^(a), isemployed where a=−1. In this example, a reasonable value for thephysical width of an actual A1 highway is about d′=16 meters. Thus, therendered width of the line representing the A1 highway monotonicallydecreases with physical scaling as one zooms out at least up to acertain zoom level z0, say z0=0.5 meters/pixel.

The zoom level for z0=0.5 is chosen to be an inner scale below whichphysical scaling is applied. This avoids a non-physical appearance whenthe roadmap is combined with other fine-scale GIS content with realphysical dimensions. In this example, z0=0.5 meters/pixel, or 2pixels/meter, which when expressed as a map scale on a 15 inch display(with 1600×1200 pixel resolution) corresponds to a scale of about1:2600. At d=16 meters, which is a reasonable real physical width for A1roads, the rendered road will appear to be its actual size when one iszoomed in (0.5 meters/pixel or less). At a zoom level of 0.1meters/pixel, the rendered line is about 160 pixels wide. At a zoomlevel of 0.5 meters/pixel, the rendered line is 32 pixels wide.

As for the zone in which the scaling of the road widths isnon-physically proportional to the zoom level, the scaling formula ofp=d′·z^(a), is employed where −1<a<0 (within a range of zoom levels z0and z1). In this example, the non-physical scaling is performed betweenabout z0=0.5 meters/pixel and z1=3300 meters/pixel. Again, when −1<a<0,the width of the rendered road decreases more slowly than it would withproportional physical scaling as one zooms out. Advantageously, thispermits the A1 road to remain visible (and distinguishable from othersmaller roads) as one zooms out. For example, as shown in FIG. 5, the A1road 102 remains visible and distinguishable from other roads at thezoom level of z=334 meters/pixel. Assuming that the physical width ofthe A1 road is d′=d=16 meters, the width of the rendered line usingphysical scaling would have been about 0.005 pixels at a zoom level ofabout 3300 meters/pixel, rendering it virtually invisible. Usingnon-physical scaling, however, where −1<a<0 (in this example, a is about−0.473), the width of the rendered line is about 0.8 pixels at a zoomlevel of 3300 meters/pixel, rendering it clearly visible.

It is noted that the value for z1 is chosen to be the most zoomed-outscale at which a given road still has “greater than physical”importance. By way of example, if the entire U.S. is rendered on a1600×1200 pixel display, the resolution would be approximately 3300meters/pixel or 3.3 kilometers/pixel. If one looks at the entire world,then there may be no reason for U.S. highways to assume enhancedimportance relative to the view of the country alone.

Thus, at zoom levels above z1, which in the example above is about 3300meters/pixel, the scaling of the road widths is again physicallyproportional to the zoom level, but preferably with a large d′ (muchgreater than the real width d) for continuity of p(z). In this zone, thescaling formula of p=d′·z^(a) is employed where a=−1. In order for therendered road width to be continuous at z1=3300 meters/pixel, a newimputed physical width of the A1 highway is chosen, for example, d′=1.65kilometers. z1 and the new value for d′ are preferably chosen in such away that, at the outer scale z1, the rendered width of the line will bea reasonable number of pixels. In this case, at a zoom level in whichthe entire nation may be seen on the display (about 3300 meters/pixel),A1 roads may be about ½ pixel wide, which is thin but still clearlyvisible; this corresponds to an imputed physical road width of 1650meters, or 1.65 kilometers.

The above suggests a specific set of equations for the rendered linewidth as a function of the zoom level:p(z)=d0·z ⁻¹ if z≦z0p(z)=d1·z ^(a) if z0<z<z1,p(z)=d2·z ⁻¹ if z≧z1.

The above form of p(z) has six parameters: z0, z1, d0, d1, d2 and a. z0and z1 mark the scales at which the behavior of p(z) changes. In thezoomed-in zone (z≦z0), zooming is physical (i.e., the exponent of z is−1), with a physical width of d0, which preferably corresponds to thereal physical width d. In the zoomed-out zone (z≧z1), zooming is againphysical, but with a physical width of d1, which in general does notcorrespond to d. Between z0 and z1, the rendered line width scales witha power law of a, which can be a value other than −1. Given thepreference that p(z) is continuous, specifying z0, z1, d0 and d2 issufficient to uniquely determine d1 and a, which is clearly shown inFIG. 14.

The approach discussed above with respect to A1 roads may be applied tothe other road elements of the roadmap object. An example of applyingthese scaling techniques to the A1, A2, A3, A4, and A5 roads isillustrated in the log-log graph of FIG. 15. In this example, z0=0.5meters/pixel for all roads, although it may vary from element to elementdepending on the context. As A2 roads are generally somewhat smallerthat A1 roads, d0=12 meters. Further, A2 roads are “important,” e.g., onthe U.S. state level, so z1=312 meters/pixel, which is approximately therendering resolution for a single state (about 1/10 of the country inlinear scale). At this scale, it has been found that line widths of onepixel are desirable, so d2=312 meters is a reasonable setting.

Using the general approach outlined above for A1 and A2 roads, theparameters of the remaining elements of the roadmap object may beestablished. A3 roads: d0=8 meters, z0=0.5 meters/pixel, z1=50meters/pixel, and d2=100 meters. A4 streets: d0=5 meters, z0=0.5meters/pixel, z1=20 meters/pixel, and d2=20 meters. And A5 dirt roads:d0=2.5 meters, z0=0.5 meters/pixel, z1=20 meters/pixel, and d2=20 m. Itis noted that using these parameter settings, A5 dirt roads look moreand more like streets at zoomed-out zoom levels, while their physicalscale when zoomed in is half as wide.

The log-log plot of FIG. 15 summarizes the scaling behaviors for theroad types. It is noted that at every scale the apparent width ofA1>A2>A3>A4>=A5. Note also that, with the exception of dirt roads, thepower laws all come out in the neighborhood of a=−0.41. The dotted linesall have a slope of −1 and represent physical scaling at differentphysical widths. From the top down, the corresponding physical widths ofthese dotted lines are: 1.65 kilometers, 312 meters, 100 meters, 20meters, 16 meters, 12 meters, 8 meters, 5 meters, and 2.5 meters.

When interpolation between a plurality of pre-rendered images is used,it is possible in many cases to ensure that the resulting interpolationis humanly indistinguishable or nearly indistinguishable from an idealrendition of all lines or other primitive geometric elements at theircorrect pixel widths as determined by the physical and non-physicalscaling equations. To appreciate this alternative embodiment of thecurrent invention, some background on antialiased line drawing will bepresented below.

The discussion of antialiased line drawing will be presented in keepingwith the roadmap example discussed at length above, in which allprimitive elements are lines, and the line width is subject to thescaling equations as described previously. With reference to FIG. 16A, aone pixel wide vertical line drawn in black on white background, suchthat the horizontal position of the line is aligned exactly to the pixelgrid, consists simply of a 1-pixel-wide column of black pixels on awhite background. In accordance with various aspects of the presentinvention, it is desirable to consider and accommodate the case wherethe line width is a non-integral number of pixels. With reference toFIG. 16B, if the endpoints of a line remain fixed, but the weight of theline is increased to be 1.5 pixels wide, then on an anti-aliasedgraphics display, the columns of pixels to the left and right of thecentral column are drawn at 25% grey. With reference to FIG. 16C, at 2pixels wide, these flanking columns are drawn at 50% grey. Withreference to FIG. 16D, at 3 pixels wide, the flanking columns are drawnat 100% black, and the result is three solid black columns as expected.

This approach to drawing lines of non-integer width on a pixellateddisplay results in a sense (or illusion) of visual continuity as linewidth changes, allowing lines of different widths to be clearlydistinguished even if they differ in width only by a fraction of apixel. In general, this approach, known as antialiased line drawing, isdesigned to ensure that the line integral of the intensity function (or“1-intensity” function, for black lines on a white background) over aperpendicular to the line drawn is equal to the line width. This methodgeneralizes readily to lines whose endpoints do not lie precisely in thecenters of pixels, to lines which are in other orientations thanvertical, and to curves.

Note that drawing the antialiased vertical lines of FIGS. 16A-D couldalso be accomplished by alpha-blending two images, one (image A) inwhich the line is 1 pixel wide, and the other (image B) in which theline is 3 pixels wide. Alpha blending assigns to each pixel on thedisplay (1-alpha)*(corresponding pixel in image A)+alpha*(correspondingpixel in image B). As alpha is varied between zero and one, theeffective width of the rendered line varies smoothly between one andthree pixels. This alpha-blending approach only produces good visualresults in the most general case if the difference between the tworendered line widths in images A and B is one pixel or less; otherwise,lines may appear haloed at intermediate widths. This same approach canbe applied to rendering points, polygons, and many other primitivegraphical elements at different linear sizes.

Turning again to FIGS. 16A-D, the 1.5 pixel-wide line (FIG. 16B) and the2 pixel-wide line (FIG. 16C) can be constructed by alpha-blendingbetween the 1 pixel wide line (FIG. 16A) and the 3 pixel wide line (FIG.16D). With reference to FIGS. 17A-C, a 1 pixel wide line (FIG. 17A), a 2pixel wide line (FIG. 17B) and a 3 pixel wide line (FIG. 17C) areillustrated in an arbitrary orientation. The same principle applies tothe arbitrary orientation of FIGS. 17A-C as to the case where the linesare aligned exactly to the pixel grid, although the spacing of the linewidths between which to alpha-blend may need to be finer than two pixelsfor good results.

In the context of the present map example, a set of images of differentresolutions can be selected for pre-rendition with reference to thelog-log plots of FIGS. 14-15. For example, reference is now made to FIG.18, which is substantially similar to FIG. 14 except that FIG. 18includes a set of horizontal lines and vertical lines. The horizontallines indicate line widths between 1 and 10 pixels, in increments of onepixel. The vertical lines are spaced such that line width over theinterval between two adjacent vertical lines changes by no more than twopixels. Thus, the vertical lines represent a set of zoom values suitablefor pre-rendition, wherein alpha-blending between two adjacent suchpre-rendered images will produce characteristics nearly equivalent torendering the lines representing roads at continuously variable widths.

Interpolation between the six resolutions represented by the verticallines shown in FIG. 18 is sufficient to render the A1 highwaysaccurately using the scaling curve shown at about nine meters/pixel andabove. Rendition below about nine meters/pixel does not requirepre-rendition, as such views are very zoomed-in and thus show very fewroads, making it more computationally efficient (and more efficient withrespect to data storage requirements) to render them vectorially than tointerpolate between pre-rendered images. At resolutions of more thanabout 1000 meters/pixel (such views encompass large fractions of theEarth's surface), the final pre-rendered image alone can be used, as itis a rendition using 1 pixel wide lines. Lines that are thinner than asingle pixel render the same pixels more faintly. Hence, to produce animage in which the A1 lines are 0.5 pixels wide, the 1 pixel wide lineimage can be multiplied by an alpha of 0.5.

In practice, a somewhat larger set of resolutions are pre-rendered, suchthat over each interval between resolutions, none of the scaling curvesof FIG. 15 varies by more than one pixel. Reducing the allowed variationto one pixel can result in improved rendering quality. Notably, thetiling techniques contemplated and discussed in the following co-pendingapplication may be considered in connection with the present invention:U.S. patent application Ser. No. 10/790,253, entitled SYSTEM AND METHODFOR EXACT RENDERING IN A ZOOMING USER INTERFACE, filed Mar. 1, 2004,Attorney Docket No. 489/2, the entire disclosure of which is herebyincorporated by reference. This tiling technique may be employed forresolving an image at a particular zoom level, even if that level doesnot coincide with a pre-rendered image. If each image in the somewhatlarger set of resolutions is pre-rendered at the appropriate resolutionand tiled, then the result is a complete system for zooming and panningnavigation through a roadmap of arbitrary complexity, such that alllines appear to vary in width continuously in accordance with thescaling equations disclosed herein.

Additional details concerning other techniques for blending images,which may be employed in connection with implementing the presentinvention, may be found in U.S. Provisional Patent Application No.60/475,897, entitled SYSTEM AND METHOD FOR THE EFFICIENT DYNAMIC ANDCONTINUOUS DISPLAY OF MULTI RESOLUTIONAL VISUAL DATA, filed Jun. 5,2003, the entire disclosure of which is hereby incorporated byreference. Still further details concerning blending techniques that maybe employed in connection with implementing the present invention may befound in U.S. Provisional Patent Application Ser. No. 60/453,897, filedMar. 12, 2003, entitled SYSTEM AND METHOD FOR FOVEATED, SEAMLESS,PROGRESSIVE RENDERING IN A ZOOMING USER INTERFACE, the entire disclosureof which is hereby incorporated by reference.

Advantageously, employing the above-discussed aspects of the presentinvention, the user enjoys the appearance of smooth and continuousnavigation through the various zoom levels. Further, little or no detailabruptly appears or disappears when zooming from one level to another.This represents a significant advancement over the state of the art.

It is contemplated that the various aspects of the present invention maybe applied in numerous products, such as interactive softwareapplications over the Internet, automobile-based software applicationsand the like. For example, the present invention may be employed by anInternet website that provides maps and driving directions to clientterminals in response to user requests. Alternatively, various aspectsof the invention may be employed in a GPS navigation system in anautomobile. The invention may also be incorporated into medical imagingequipment, whereby detailed information concerning, for example, apatient's circulatory system, nervous system, etc. may be rendered andnavigated as discussed hereinabove. The applications of the inventionare too numerous to list in their entirety, yet a skilled artisan willrecognize that they are contemplated herein and fall within the scope ofthe invention as claimed.

The present invention may also be utilized in connection with otherapplications in which the rendered images provide a means foradvertising and otherwise advancing commerce. Additional detailsconcerning these aspects and uses of the present invention may be foundin U.S. Provisional Patent Application No. 60/553,803, entitled METHODSAND APPARATUS FOR EMPLOYING MAPPING TECHNIQUES TO ADVANCE COMMERCE,filed on even date herewith, Attorney Docket No. 489/7, the entiredisclosure of which is hereby incorporated by reference.

Although the invention herein has been described with reference toparticular embodiments, it is to be understood that these embodimentsare merely illustrative of the principles and applications of thepresent invention. It is therefore to be understood that numerousmodifications may be made to the illustrative embodiments and that otherarrangements may be devised without departing from the spirit and scopeof the present invention as defined by the appended claims.

1. A method, comprising: zooming into or out of an image having at leastone object, wherein at least some primitive elements of the at least oneobject are scaled up and/or down in a way that is non-physicallyproportional to one or more zoom levels associated with the zooming,2-5. (canceled)
 6. The method of claim 1, wherein at least someprimitive elements of the at least one object are also scaled up and/ordown in a way that is physically proportional to one or more zoom levelsassociated with the zooming.
 7. The method of claim 6, wherein thephysically proportional scaling may be expressed by the followingformula: p=c·d/z, where p is a linear size in pixels of one or moreprimitive elements of the object, c is a constant, d is a real orimputed linear size in physical units of the one or more primitiveelements of the object, and z is the zoom level in physical linearsize/pixel.
 8. The method of claim 6, wherein: the primitive elements ofthe object are of varying degrees of coarseness; and the scaling of theprimitive elements at a given zoom level are physically proportional ornon-physically proportional based on at least one of: (i) a degree ofcoarseness of such primitive elements; and (ii) the zoom level.
 9. Themethod of claim 8, wherein: the object is a roadmap, the primitiveelements of the object are lines indicative of roads, and the varyingdegrees of coarseness are road hierarchies; and the scaling of a givenroad at a given zoom level is physically proportional or non-physicallyproportional based on: (i) the road hierarchy of the given road; and(ii) the zoom level.
 10. A storage medium containing one or moresoftware programs that are operable to cause a processing unit toexecute actions, comprising: zooming into or out of an image having atleast one object, wherein at least some primitive elements of the atleast one object are scaled up and/or down in a way that isnon-physically proportional to one or more zoom levels associated withthe zooming. 11-14. (canceled)
 15. The storage medium of claim 10,wherein at least some primitive elements of the at least one object arealso scaled up and/or down in a way that is physically proportional toone or more zoom levels associated with the zooming.
 16. The storagemedium of claim 15, wherein the physically proportional scaling may beexpressed by the following formula: p=c·d/z, where p is a linear size inpixels of one or more primitive elements of the object, c is a constant,d is a real or imputed linear size in physical units of the one or moreprimitive elements of the object, and z is the zoom level in physicallinear size/pixel.
 17. The storage medium of claim 15, wherein: theprimitive elements of the object are of varying degrees of coarseness;and the scaling of the primitive elements at a given zoom level arephysically proportional or non-physically proportional based on at leastone of: (i) a degree of coarseness of such primitive elements; and (ii)the zoom level.
 18. The storage medium of claim 17, wherein: the objectis a roadmap, the primitive elements of the object are lines indicativeof roads, and the varying degrees of coarseness are road hierarchies;and the scaling of a given road at a given zoom level is physicallyproportional or non-physically proportional based on: (i) the roadhierarchy of the given road; and (ii) the zoom level.
 19. An apparatusincluding a processing unit operating under the control of one or moresoftware programs that are operable to cause the processing unit toexecute actions, comprising: zooming into or out of an image having atleast one object, wherein at least some primitive elements of the atleast one object are scaled up and/or down in a way that isnon-physically proportional to one or more zoom levels associated withthe zooming. 20-23. (canceled)
 24. The apparatus of claim 19, wherein atleast some primitive elements of the at least one object are also scaledup and/or down in a way that is physically proportional to one or morezoom levels associated with the zooming.
 25. The apparatus of claim 24,wherein the physically proportional scaling may be expressed by thefollowing formula: p=c·d/z, where p is a linear size in pixels of one ormore primitive elements of the object, c is a constant, d is a real orimputed linear size in physical units of the one or more primitiveelements of the object, and z is the zoom level in physical linearsize/pixel.
 26. The apparatus of claim 24, wherein: the primitiveelements of the object are of varying degrees of coarseness; and thescaling of the primitive elements at a given zoom level are physicallyproportional or non-physically proportional based on at least one of:(i) a degree of coarseness of such primitive elements; and (ii) the zoomlevel.
 27. The apparatus of claim 26, wherein: the object is a roadmap,the primitive elements of the object are lines indicative of roads, andthe varying degrees of coarseness are road hierarchies; and the scalingof a given road at a given zoom level is physically proportional ornon-physically proportional based on: (i) the road hierarchy of thegiven road; and (ii) the zoom level. 28-85. (canceled)